package com.syh.jn.scm.infrastructure.repository.model.finance.archive;

import com.syh.core.ddd.infrastructure.repository.model.SuperModel;
import lombok.*;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.math.BigDecimal;

/**
 * Created by soci.song on 2019/3/1.
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@EqualsAndHashCode(callSuper = true)
@Table(name = "T_FINANCE_ARCHIVE_STOCK")
public class ArchiveStockModel extends SuperModel {
  /**
   * 主表id
   */
  @Column(name = "ARCHIVE_ID", columnDefinition = "bigint COMMENT '主表id'")
  private Long archiveId;
  /**
   * 仓库id
   */
  @Column(name = "DEPOT_ID", columnDefinition = "bigint COMMENT '仓库id'")
  private Long depotId;
  /**
   * 商品id
   */
  @Column(name = "GOODS_ID", columnDefinition = "bigint COMMENT '商品id'")
  private Long goodsId;
  /**
   * 库存数量
   */
  @Column(name = "TOTAL_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '库存数量'")
  private BigDecimal totalQuantity;
  /**
   * 平均成本
   */
  @Column(name = "TOTAL_AVG_COST", columnDefinition = "decimal(19,6) COMMENT '平均成本'")
  private BigDecimal totalAvgCost;
  /**
   * 库存余额
   */
  @Column(name = "TOTAL_BALANCE", columnDefinition = "decimal(19,2) COMMENT '库存余额'")
  private BigDecimal totalBalance;
  /**
   * 期初数量
   */
  @Column(name = "BEGINNING_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '期初数量'")
  private BigDecimal beginningQuantity;
  /**
   * 期初均价
   */
  @Column(name = "BEGINNING_AVG_COST", columnDefinition = "decimal(19,2) COMMENT '期初均价'")
  private BigDecimal beginningAvgCost;
  /**
   * 期初余额
   */
  @Column(name = "BEGINNING_BALANCE", columnDefinition = "decimal(19,2) COMMENT '期初余额'")
  private BigDecimal beginningBalance;
  /**
   * 本期数量
   */
  @Column(name = "RECORD_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '本期数量'")
  private BigDecimal recordQuantity;
  /**
   * 本期均价
   */
  @Column(name = "RECORD_AVG_COST", columnDefinition = "decimal(19,2) COMMENT '本期均价'")
  private BigDecimal recordAvgCost;
  /**
   * 本期余额
   */
  @Column(name = "RECORD_BALANCE", columnDefinition = "decimal(19,2) COMMENT '本期余额'")
  private BigDecimal recordBalance;
  /**
   * 采购数量
   */
  @Column(name = "PURCHASE_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '采购数量'")
  private BigDecimal purchaseQuantity;
  /**
   * 采购总额
   */
  @Column(name = "PURCHASE_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '采购总额'")
  private BigDecimal purchaseAmount;
  /**
   * 采购退货数量
   */
  @Column(name = "PURCHASE_RETURN_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '采购退货数量'")
  private BigDecimal purchaseReturnQuantity;
  /**
   * 采购退货数量
   */
  @Column(name = "PURCHASE_RETURN_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '采购退货总额'")
  private BigDecimal purchaseReturnAmount;
  /**
   * 销售数量
   */
  @Column(name = "SALE_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '销售数量'")
  private BigDecimal saleQuantity;
  /**
   * 销售总额
   */
  @Column(name = "SALE_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '销售总额'")
  private BigDecimal saleAmount;
  /**
   * 销售退货数量
   */
  @Column(name = "SALE_RETURN_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '销售退货数量'")
  private BigDecimal saleReturnQuantity;
  /**
   * 销售退货总额
   */
  @Column(name = "SALE_RETURN_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '销售退货总额'")
  private BigDecimal saleReturnAmount;
  /**
   * 其他入库数量
   */
  @Column(name = "OTHER_IN_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '其他入库数量'")
  private BigDecimal otherInQuantity;
  /**
   * 其他入库总额
   */
  @Column(name = "OTHER_IN_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '其他入库总额'")
  private BigDecimal otherInAmount;
  /**
   * 其他出库数量
   */
  @Column(name = "OTHER_OUT_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '其他出库数量'")
  private BigDecimal otherOutQuantity;
  /**
   * 其他出库数量
   */
  @Column(name = "OTHER_OUT_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '其他出库总额'")
  private BigDecimal otherOutAmount;
  /**
   * 报溢数量
   */
  @Column(name = "SPILL_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '报溢数量'")
  private BigDecimal spillQuantity;
  /**
   * 报溢数量
   */
  @Column(name = "SPILL_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '报溢总额'")
  private BigDecimal spillAmount;
  /**
   * 报损数量
   */
  @Column(name = "LOSS_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '报损数量'")
  private BigDecimal lossQuantity;
  /**
   * 报损总额
   */
  @Column(name = "LOSS_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '报损总额'")
  private BigDecimal lossAmount;
  /**
   * 销售报损数量
   */
  @Column(name = "SALE_LOSS_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '销售报损数量'")
  private BigDecimal saleLossQuantity;
  /**
   * 销售报损总额
   */
  @Column(name = "SALE_LOSS_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '销售报损总额'")
  private BigDecimal saleLossAmount;
  /**
   * 销售退货报损数量
   */
  @Column(name = "SALE_RETURN_LOSS_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '销售退货报损数量'")
  private BigDecimal saleReturnLossQuantity;
  /**
   * 销售退货报损总额
   */
  @Column(name = "SALE_RETURN_LOSS_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '销售退货报损总额'")
  private BigDecimal saleReturnLossAmount;
  /**
   * 采购报损数量
   */
  @Column(name = "PURCHASE_LOSS_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '采购报损数量'")
  private BigDecimal purchaseLossQuantity;
  /**
   * 采购报损总额
   */
  @Column(name = "PURCHASE_LOSS_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '采购报损总额'")
  private BigDecimal purchaseLossAmount;
  /**
   * 采购退货报损数量
   */
  @Column(name = "PURCHASE_RETURN_LOSS_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '采购退货报损数量'")
  private BigDecimal purchaseReturnLossQuantity;
  /**
   * 采购退货报损总额
   */
  @Column(name = "PURCHASE_RETURN_LOSS_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '采购退货报损总额'")
  private BigDecimal purchaseReturnLossAmount;
  /**
   * 其他报损数量
   */
  @Column(name = "OTHER_LOSS_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '其他报损数量'")
  private BigDecimal otherLossQuantity;
  /**
   * 其他报损总额
   */
  @Column(name = "OTHER_LOSS_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '其他报损总额'")
  private BigDecimal otherLossAmount;
  /**
   * 销售报溢数量
   */
  @Column(name = "SALE_SPILL_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '销售报溢数量'")
  private BigDecimal saleSpillQuantity;
  /**
   * 销售报溢总额
   */
  @Column(name = "SALE_SPILL_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '销售报溢总额'")
  private BigDecimal saleSpillAmount;
  /**
   * 销售退货报溢数量
   */
  @Column(name = "SALE_RETURN_SPILL_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '销售退货报溢数量'")
  private BigDecimal saleReturnSpillQuantity;
  /**
   * 销售退货报溢总额
   */
  @Column(name = "SALE_RETURN_SPILL_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '销售退货报溢总额'")
  private BigDecimal saleReturnSpillAmount;
  /**
   * 采购报溢数量
   */
  @Column(name = "PURCHASE_SPILL_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '采购报溢数量'")
  private BigDecimal purchaseSpillQuantity;
  /**
   * 采购报溢总额
   */
  @Column(name = "PURCHASE_SPILL_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '采购报溢总额'")
  private BigDecimal purchaseSpillAmount;
  /**
   * 采购退货报溢数量
   */
  @Column(name = "PURCHASE_RETURN_SPILL_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '采购退货报溢数量'")
  private BigDecimal purchaseReturnSpillQuantity;
  /**
   * 采购退货报溢总额
   */
  @Column(name = "PURCHASE_RETURN_SPILL_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '采购退货报溢总额'")
  private BigDecimal purchaseReturnSpillAmount;
  /**
   * 其他报溢数量
   */
  @Column(name = "OTHER_SPILL_QUANTITY", columnDefinition = "decimal(19,2) COMMENT '其他报溢数量'")
  private BigDecimal otherSpillQuantity;
  /**
   * 其他报溢总额
   */
  @Column(name = "OTHER_SPILL_AMOUNT", columnDefinition = "decimal(19,2) COMMENT '其他报溢总额'")
  private BigDecimal otherSpillAmount;

}
